In general, a flash memory is operable with lower power than an existing hard disk and is excellent in terms of stability due to no mechanical part. Further, since the flash memory has a memory characteristic and a nonvolatile characteristic differently from a DRAM, using the flash memory as a next-generation storage device that is substituted for the hard disk is gradually increased.
However, the flash memory has a problem that as a usage time elapses, reliability deteriorates. The problem is caused by limitation of the number of use times (more particularly, the number of erase times) of the flash memory.
Moreover, the flash memory is readable/writable by the unit of a page, but when data has been written, it is impossible to overwrite data immediately (called as in-place-update). As a result, in order to overwrite new data in the flash memory, it is necessary to first erase a corresponding block constituted by several pages and thereafter, write the new data. Such a characteristic is referred to as an erase before write characteristic.
In a method for managing the flash memory, a wear-leveling operation for extending the entire life-span of a flash memory device by equally applying the number of erase times to all elements of flash memory is required. To this end, wear-leveling is performed by writing data at a new position without overwriting data at an existing data position when data is requested to be modified.
In order to perform such wear-leveling operation, mapping between a logical address which is an address which the flash memory provides to the outside and a physical address which is a position where data is actually stored in a flash memory is required. A plurality of companies that produce the flash memory device use different address translation techniques. However, a difference in address translation method causes a difference in performance, stability, life-span, and the like of the flash memory device.